transformers.Trainerでearly stoppingしたい
3章 RoBERTaモデルのゼロからの事前訓練で設定してみる(複数エポック訓練したい)
EarlyStoppingCallback
https://huggingface.co/docs/transformers/main/en/main_classes/callback#transformers.EarlyStoppingCallback
train_datasetだけでなくeval_datasetも必要
transformersのlanguage-modeling/run_mlm.pyでのデータの読み込みを参考にtrainとvalidation
split引数の指定(validation_split_percentageを参考にした)
トークナイザはすべてのデータから訓練
すべてのデータを知っているトークナイザでtrainとvalidationそれぞれトークナイズ
early stoppingのための引数設定
Trainerのeval_dataset引数
TrainingArgumentsの各種引数
eval_datasetへのlossを見るので
metric_for_best_model="loss"
greater_is_better=False
early stopのためのeval_datasetでのmetric確認の頻度:strategy
logging_steps=500(デフォルト値)のためstrategyがstepsだとロギングするたびにeval_datasetでmetricを確認する
strategy epoch